package com.neu.carbon.mes.mapper;

import java.util.List;
import com.neu.carbon.mes.domain.MesProductModelInfo;
import com.neu.carbon.mes.domain.MesProductModel;

/**
 * 产品建模Mapper接口
 *
 * @author neuedu
 * @date 2025-02-26
 */
public interface MesProductModelMapper
{
    /**
     * 查询产品建模
     *
     * @param id 产品建模ID
     * @return 产品建模
     */
    public MesProductModelInfo selectWmsMaterialInfoById(Long id);

    /**
     * 查询产品建模列表
     *
     * @param mesProductModelInfo 产品建模
     * @return 产品建模集合
     */
    public List<MesProductModelInfo> selectWmsMaterialInfoList(MesProductModelInfo mesProductModelInfo);

    /**
     * 新增产品建模
     *
     * @param mesProductModelInfo 产品建模
     * @return 结果
     */
    public int insertWmsMaterialInfo(MesProductModelInfo mesProductModelInfo);

    /**
     * 修改产品建模
     *
     * @param mesProductModelInfo 产品建模
     * @return 结果
     */
    public int updateWmsMaterialInfo(MesProductModelInfo mesProductModelInfo);

    /**
     * 删除产品建模
     *
     * @param id 产品建模ID
     * @return 结果
     */
    public int deleteWmsMaterialInfoById(Long id);

    /**
     * 批量删除产品建模
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteWmsMaterialInfoByIds(Long[] ids);

    /**
     * 批量删除产品建模
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteMesProductModelByMaterialIds(Long[] ids);

    /**
     * 批量新增产品建模
     *
     * @param mesProductModelList 产品建模列表
     * @return 结果
     */
    public int batchMesProductModel(List<MesProductModel> mesProductModelList);


    /**
     * 通过产品建模ID删除产品建模信息
     *
     * @param id 需要删除的数据ID
     * @return 结果
     */
    public int deleteMesProductModelByMaterialId(Long id);

    int insertMesProductModel(MesProductModelInfo mesProductModelInfo);
}
